package com.cnd.scm.code.generator;

import freemarker.template.Configuration;
import freemarker.template.Template;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.io.File;
import java.io.FileWriter;
import java.util.Map;

@Component
public class CodeGenerator {

	@Autowired
	private Configuration config;
	
	/**
	 * 根据提供数据模型和指定模板文件生成目标文件
	 * @param dataModel 数据模型
	 * @param templateName 模板文件名称
	 * @param filePath 生成目标文件路径
	 * @throws Exception
	 */
	public  void processFile(Map<String, Object> dataModel, String templateName, String filePath) throws Exception {
		Template template = config.getTemplate(templateName);
		FileWriter fw = new FileWriter(new File(filePath));
		template.process(dataModel, fw);
		fw.close();
	}
	
	
	
}
